/*
 * @(#)ResultPageInfos.java $version 2010. 8. 11
 *
 * Copyright 2007-2010 NHN Corp. All rights Reserved. 
 * NHN PROPRIETARY/CONFIDENTIAL. Use is subject to license terms.
 */
package com.nhncorp.usf.core.config.runtime;

import java.util.ArrayList;
import java.util.List;

/**
 * Action 수행 결과에 대한 페이지정보( 분기조건에 따른 페이지와 기본 페이지) 정의.
 *
 * @author Web Platform Development Team.
 */
public class ResultPageInfos {

    /**
     * 페이지 분기를 위한 {@link ConditionInfo} 리스트.
     */
    List<ResultCondition> conditions = new ArrayList<ResultCondition>();

    /**
     * 페이지 분기 리스트를 만족하지 않는 경우의 default {@link ResultPageInfo}.
     */
    ResultPageInfo defaultResultPageInfo;

    /**
     * 분기 조건 추가.
     *
     * @param condition the ConditionInfo
     */
    public void addCondition(ResultCondition condition) {
        conditions.add(condition);
    }

    /**
     * 분기 조건 리스트 반환.
     *
     * @return List the condition information list
     */
    public List<ResultCondition> getConditions() {
        return this.conditions;
    }

    /**
     * 기본 이동 {@link ResultPageInfo} 설정.
     *
     * @param defaultPage the default page information
     */
    public void setDefaultResultPageInfo(ResultPageInfo defaultPage) {
        this.defaultResultPageInfo = defaultPage;
    }

    /**
     * 기본 이동 {@link ResultPageInfo} 반환.
     *
     * @return ResultPageInfo the default result page information object
     */
    public ResultPageInfo getDefaultResultPageInfo() {
        return this.defaultResultPageInfo;
    }
}
